
/*$(function() {
	var height=document.documentElement.clientHeight-50;
	document.getElementById('iframe-page-content').style.height=height+'px';
});*/

var zTree;  
$(document).ready(function(){
	

	var set = {
		    view: {  
		        dblClickExpand: true,//双击节点时，是否自动展开父节点的标识  
		        showLine: true,//是否显示节点之间的连线  
		        showIcon:true,
		        fontCss:{'color':'blue','font-weight':'bold'},//字体样式函数  
		        selectedMulti: true, //设置是否允许同时选中多个节点 
		        addHoverDom: addHoverDom,       // 用于当鼠标移动到节点上时，显示用户自定义控件
		        removeHoverDom: removeHoverDom, // 用于当鼠标移出节点时，隐藏用户自定义控件。务必与 addHoverDom 同时使用 
		    },  
			check:{  
		        chkStyle: "checkbox",
		        enable: false//去掉checkbox  
		    },  
		    edit:{
		    	enable:true,
		    	showRemoveBtn:true,
		    	showRenameBtn:true,
		    	removeTitle:"删除",       // 删除按钮的 Title 辅助信息  
		        renameTitle:"重命名"       // 编辑名称按钮的 Title 辅助信息
		    	
		    	
		    },
		    drag:{
		    	isMove:true,
		    	prev:true,
		    	autoOpenTime: 0
		    	},
			   data: {  
			        simpleData: {//简单数据模式  
			            enable:true,  
			            idKey: "id",  
			            pIdKey: "pid",  
			            rootPId: ""  
			        }  
			    },
			    callback: {  
			    	onRename: zTreeonRename,
			    	//beforeEditName: beforeEditName, // 用于捕获节点编辑按钮的 click 事件，并且根据返回值确定是否允许进入名称编辑状
			    	beforeRemove: beforeRemove,     // 用于捕获节点被删除之前的事件回调函数，并且根据返回值确定是否允许删除操作 
			    	//beforeRename: beforeRename,     // 用于捕获节点编辑名称结束（Input 失去焦点 或 按下 Enter 键）之后，更新节点名称
//			    	onClick: function(e,treeId, treeNode) {
////			        var url=sy.bp()+treeNode.src;
//			       /* $("#iframe-page-content").attr('src',url);*/
//			        },
//			        onDblClick:function (){
//			        
//			        },
	            
			    }
	};
/* 	var zNodes =[
{id:4, pid:0, name:"111", src:"/home/index",open:false, checked:false},
{id:41, pid:4, name:"用户管理",src:"/home/index", open:false, checked:false},
{id:42, pid:4, name:"角色管里", src:"/home/index",open:false, checked:false},
{id:43, pid:4, name:"111", src:"/home/index",open:false, checked:false}
]; */
	function showTree(){
		
		$.ajax({
			url:sy.bp()+"/home/menu",
			type:"post",
			dataType:"json",
			success:function (data){
				console.info(data)
				treeObj = $.fn.zTree.init($("#user_permission_tree"), set, data);
				treeObj.expandAll(true);//打开所有节点
			}
		}); 
	} 
	showTree();
	/**
	 * 添加根目录
	 */
	$("#addPermission_button_id").click(function(){
		$.ajax({  
	        type : "POST",    
	        async : false,    
	        url : sy.bp()+"/permission/insertRoot",    
	        data :    
	        {    
	            name: "根目录",
	            grade:1//根目录的级别默认为1
	        },  
	        success:function(result){  
	            if(result!=0 ){  
	                var zTree = $.fn.zTree.getZTreeObj("user_permission_tree");  
	                var newNode=[{id:result,departName:"根部门",name:"根部门",pid:result}];  
	                zTree.addNodes(null,newNode);
	            	alert("添加成功")
	            	window.location.reload();
	            }else{  
	                alert("无法添加根部门，请联系管理员！");  
	            }  
	        },error:function(){
	        	console.info("ajax请求失败")
	        } 
	    });           
	})
	
});
/**
 * 改名
 * @param event
 * @param treeId
 * @param treeNode
 * @param isCancel
 * @returns
 */
function zTreeonRename( event, treeId, treeNode, isCancel){
	//console.info("treeNode:"+treeNode.id+treeNode.name+treeNode.pid)
	 //console.info("treeNode.tId"+treeNode.tId)
	var id=treeNode.id;
	var name = treeNode.name;
	if(name.trim()==null ||name==''){
		alert('修改失败，名字不能为空')
	}else{
		
		$.ajax({
			url:sy.bp()+"/permission/updateName",
			type:"post",
			data : {
				"id" : id,
				"name":name
			},
			dataType:"json",
			success:function (a){
				console.info("a:"+a)
				if(a==1){
					alert("修改成功！！");
					 window.location.reload();
					return true;
					
				}else{
					alert("修改失败！！");
				
					return false;
				}
				
				
				
					
			}
		});
		
	}
	
}
//添加子部门操作  
var newCount = 0;  
function addHoverDom(treeId, treeNode) {
	
	//console.info("treeNode.editNameFlag:"+treeNode.editNameFlag)
    //tid在tree中的第几个
	//console.info("treeNode.tId"+treeNode.tId)
	var sObj = $("#" + treeNode.tId + "_span");  
    //防止添加多个‘添加按钮’
	if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length>0) return;  
   var addStr = "<span class='button add' id='addBtn_" + treeNode.tId  
        + "' title='添加' onfocus='this.blur();'></span>";  
    sObj.after(addStr);  
    var btn = $("#addBtn_"+treeNode.tId);
    console.info("add__treeNode.name："+treeNode.name)
    console.info("add__treeNode.id："+treeNode.id)
    console.info("add__treeNode.pid："+treeNode.pid) 
    if (btn) btn.bind("click", function(){  
       // newCount++;        
       // var zTree = $.fn.zTree.getZTreeObj("user_permission_tree");
       // var newnade={id:(100 + newCount),name:"新建节点" + (newCount++)};
        //zTree.addNodes(treeNode,newnade);

    	$.ajax({
			url:sy.bp()+"/permission/insertChildNode",
			type:"post",
			data : {
				"pid" : treeNode.id,
				"name":"新建节点",
				permissionSign:1
			},
			dataType:"json",
			success:function (data){
				console.info("data:"+data)
				if(data==0){
					alert("添加失败！！");				
				}else if(data==-1){
					alert("不能再创建节点了")
				}
				else{
					//此时data就是返回的主键id
					 var zTree = $.fn.zTree.getZTreeObj("user_permission_tree");
				     var newnade={id:(data),name:"新建节点"};
				     zTree.addNodes(treeNode,newnade);
				     alert("添加成功")
				     window.location.reload();
			
				}
		
			}
		});
//        $.ajax({  
//            type : "POST",    
//            async : false,    
//            url : "department!addDepNote.action",    
//            data :    
//            {    
//                departName : "新部门" + newCount,  
//                parentId:treeNode.id  
//            },  
//            success:function(result){  
//                if(""!=result ){  
//                    var zTree = $.fn.zTree.getZTreeObj("departtree");  
//                    zTree.addNodes(treeNode, {id:result, parentId:treeNode.id, departName:"新部门" + (newCount)});  
//                    return false;  
//                }else{  
//                    alert("无法添加新部门，请联系管理员！");  
//                }  
//            }  
//        });              
    });  
};  
  
// 用于当鼠标移出节点时，隐藏用户自定义控件  
function removeHoverDom(treeId, treeNode) {  
    $("#addBtn_"+treeNode.tId).unbind().remove();  
};  
//删除操作  
function beforeRemove(treeId, treeNode) {  
       
    var isDeled=false;   
            $.ajax({  
            type : "POST",    
            async : false,    
            url:sy.bp()+"/permission/remove",    
            data :    
            {    
                id : treeNode.id    
            },  
            success:function(result){  
                if (result == 1) {  
                    isDeled= true;
                    alert("删除成功")
                } else if(result==0) {  
                    
                    isDeled= false; 
                    alert("删除失败")
                }  
            }  
        });   
          
        return isDeled;  
 
}  